package com.cuvretool;

/**
 * 管理基类
 * @author boy
 *
 */
public class Controller implements Base{
	// ===========================================================
	// Constants
	// ===========================================================

	// ===========================================================
	// Fields
	// ===========================================================
	private Model mModel;
	
	private View mView;
	
	private ModelInputHandleListener mInputHandleListener;
	// ===========================================================
	// Constructors
	// ===========================================================
	public Controller(){
		init();
	}
	// ===========================================================
	// Getter & Setter
	// ===========================================================
	/**
	 * 设置曲线模型
	 * @param mModel
	 */
	public void setModel(Model mModel) {
		this.mModel = mModel;
		mInputHandleListener.setModel(mModel);
		mModel.setModelInputListener(mInputHandleListener);
	}
	// ===========================================================
	// Methods for/from SuperClass/Interfaces
	// ===========================================================
	@Override
	public void init() {
		mInputHandleListener = new ModelInputHandleListener();
		mModel = new Model();
		mView = new View();
		
		mInputHandleListener.setModel(mModel);
		mView.setModelInputListener(mInputHandleListener);
		mModel.setModelInputListener(mInputHandleListener);
	}
	
	@Override
	public void run(){
		mView.run();
		mModel.run();
	}
	
	@Override
	public void over() {
		// TODO Auto-generated method stub
	}
	// ===========================================================
	// Methods
	// ===========================================================
	
	// ===========================================================
	// Inner and Anonymous Classes
	// ===========================================================
}
